package plugin

import "gitee.com/injoyai/goutil/script"

// Decode 脚本解析数据
type Decode struct {
	script.Interface
}

// NewScript 新建插件脚本
func NewScript(i script.Interface) *Decode {
	s := &Decode{i}
	s.SetFunc("getJson", funcGetJson)
	s.SetFunc("base64Encode", funcBase64Encode)
	s.SetFunc("base64Decode", funcBase64Decode)
	s.SetFunc("hexToBytes", funcHexToBytes)
	s.SetFunc("hexToString", funcHexToString)
	s.SetFunc("getCache", funcGetCache)
	s.SetFunc("setCache", funcSetCache)
	s.SetFunc("len", funcLen)
	s.SetFunc("toInt", funcToInt)
	s.SetFunc("toInt8", funcToInt8)
	s.SetFunc("toInt16", funcToInt16)
	s.SetFunc("toInt32", funcToInt32)
	s.SetFunc("toInt64", funcToInt64)
	s.SetFunc("toUint8", funcToUint8)
	s.SetFunc("toUint16", funcToUint16)
	s.SetFunc("toUint32", funcToUint32)
	s.SetFunc("toUint64", funcToUint64)
	s.SetFunc("toFloat", funcToFloat)
	s.SetFunc("toFloat32", funcToFloat32)
	s.SetFunc("toFloat64", funcToFloat64)
	s.SetFunc("toString", funcToString)
	s.SetFunc("toBool", funcToBool)
	s.SetFunc("toBin", funcToBIN)
	s.SetFunc("getByte", funcGetByte)
	s.SetFunc("sum", funcSum)
	s.SetFunc("addByte", funcAddByte)

	//s.SetFunc("decodeDLT645", funcDecodeDLT645)
	//s.SetFunc("decodeDLT645Data", funcDecodeDLT645Data)

	return s
}
